home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 22
/
Cream of the Crop 22.iso
/
os2
/
cfr_a84.zip
/
MANUAL.ENG
< prev
next >
Wrap
Text File
|
1996-08-28
|
15KB
|
337 lines
┌─────────────────────────────────────────────────────────────────────┐
│ CFRoute 0.84 alpha - Netmail packer for DOS and OS/2 │
│ Carlos Fernández Sanz, 2:341/70@fidonet.org, 93:341/110@subred.org │
│ Freeware │
└─────────────────────────────────────────────────────────────────────┘
First: I'm not a native English speaker, and for this version I won't
bother to check the documentation very carefully. You'll have to stand
my mistakes.
This version is still an alpha. I assume everyone using it knows how
to handle this kind of things, so I won't extend myself.
In short, CFRoute is a netmail packer for Binkley-style mailers, such
as Xenia or MainDoor 1.10. Binkley's method is a lot faster than
the dynamic system used by FrontDoor and Maindoor, and allows
the inspection of the netmail already packed, with InspectA or YABOM,
without having to unpack a mail file and search the .PKTs for the
netmail.
Most tossers allow Binkley packing. For example, FastEcho uses pack -p.
Unfortunately, it isn't very well implemented yet.
General features
----------------
- Route-to systems can be defined based upon message destination
and origin.
- Allows specification of different route-to systems for encrypted
and non-encrypted mail.
- Allows different flavors for packets, based upon everything -
not only the route-to system.
- Very flexible configuration file parser.
- Only limited by free memory. No hardcoded limits for number
for AKAs, number of route-to systems, etc.
- Allows specification of different route-to systems for file
attaches.
- Writes type 2 and 2+ packets.
- Allows specification of routes based upon the day of the week.
- Wildcards ?, # and *.
- Powerful defines.
- Freeware.
- Source code (C++) will be available when it is finished.
Calling CFROUTE
---------------
CFRoute accepts very few parameters. Parameters not starting with /
or - are considered to be configuration file names. Usually only
one is used (for example mine is ROUTE.CFR) and if more are to
be used they are called from the main one, but you can read more
than one file from the command line, for example CFROUTE 1.CFR 2.CFR
will work fine.
As of now only two other parameters will be accepted.
-? to get a brief help
-I to ignore the messages filestamp. By default, when
CFRoute is run, it saves the date & time so in the next
runs it can skip the messages that have an older date
(ie they haven't been created or modified since CFRoute
run last time). This usually works just fine, and saves
a lot of time. However NetMgr (this is the only one I
have found so far) doesn't set properly the file date.
For example, forwarded message have the file date of
the forwarded message, instead of the date when the
forwarded message is created. This may be correct (more
or less) for the date on the message header, but it
is wrong for the file date. Thus, if you are using
NetMgr you'd better use this parameter.
-D If used, CFR will write to screen a complete dump of
the configuration file as it has been read. If you
think CFR is doing something wrong, use -D to make
sure it has understood you.
Configuration files
-------------------
Important rule: Whatever is not a command, is considered to be
a parameter for the previous command. Carriage returns do not
finish a sequence of parameters. You can place all the configuration
file on a single line, or use a line for every word, etc. You can
use as much spaces and tabs and you wish, anywhere.
Comments are started with semicolon ;. When a ; is found, the rest
of the line is ignored. There is an exception to this. If a line
starts with ;CFR, the line is processed. Why? Because this allows
sharing the configuration file between two programs. For example,
say you want to use the same file for both CFRoute and FastEcho,
while you test CFRoute. CFRoute has many commands that would cause
FE to complain. Simply precede that commands with ;CFR and FE
will ignore the lines because it will take them as comments.
Valid commands are:
- LOG log_filename.
Log is very extensive. It saves the complete message header,
the route-to system (of course), the message age, the body
size, etc.
- NETMAIL netmail_directory.
Required.
- OUTBOUND main_outbound_directory.
Make sure it is the same as the mailer's. Required.
- MAIN address.
Your main address. Must be a full qualified 5D address. It is
used whenever a more appropiate address can't be found, and
to complete non-5D addresses in a few places. Domain is only
used to determine the pathnames in the binkley directory
structure.
Example: 2:341/70@fidonet.
- AKA address [address...]
Additional system addresses. Don't have to be 5D (but it
would be a good idea...). Example: AKA 62 79 add
2:341/62@fidonet and 2:341/79@fidonet to the address list,
provided 2:341/70@fidonet is given as main address.
- PACKET2 addresses
List of systems that doesn't support 2+ packets and thus
must be sent stoneage type packets.
- PASSWORD password address [address...]
(Xenia style). Example:
PASSWORD EXAMPLE 2:348/201 2:348/202 2:34/0
Wilcards are accepted.
- INCLUDE filename
Reads a file as part of the configuration. Include's can be
nested, i.e. you can call a new file from a file already being
included.
- CHECKFILE filename
If the file exists, CFR terminates inmediately. Main use is
to avoid running CFR and a tosser at the same time. Example:
CHECKFILE H:\FESEM\FEBUSY.* is used here to end CFR if
FastEcho is running.
You can specify as many filenames as you wish (CFR will terminate
if any of them exists) and you can use wildcards.
- ASSUMEPOINTS and ASSUMEWAYPOINTS. See routing.
- EOLENDSCOMMAND (EOL for END-OF-LINE). If used, a command is
ended when its line ends. I don't like it at all but has been
requested by a few.
- TOPDOWN. Gives precedence to the FIRST line matching the
netmail conditions (as Squish).
- DEFINE macro_name anything ENDDEFINE
Defines a macro, which can then be used anywhere. Example:
DEFINE GEORGE_PEACE 1:270/101 ENDDEFINE
DEFINE NORTH_AMERICA 1:* ENDDEFINE
DEFINE REST_FIDO 2:* 3:* 4:* 5:* 6:* ENDDEFINE
ROUTE-TO GEORGE_PEACE NORTH_AMERICA
Even...
DEFINE ROUTE_AMERICA ROUTE-TO GEORGE_PEACE NORTH_AMERICA ENDDEFINE
and them
ROUTE_AMERICA to do the actual work.
Address completion
------------------
When you are writing your routing, keep in mind the following:
- AKAs are always completed with the previous AKAs.
- Addresses in route-to are completed with the previous
address in the same route-to command (as you will see,
the waypoint must be 4D).
- Incomplete addresses in passwords are completed with the
last address in a password sentence.
- Imcomplete addresses in packet2 specs are completed with
the last address in a packet2 sentence.
Example (don't mind about the meaning of the commands):
MAIN 2:341/70@fidonet
AKA 62 1000/79
ROUTE-TO 2:2453/1031 1030 1032 4000/50 70
PASSWORD 2:344/10 45
becomes
MAIN 2:341/70@fidonet
AKA 2:341/62@fidonet 2:1000/79@fidonet
ROUTE-TO 2:2453/1031 2:2453/1030 2:2453/1032 2:4000/50 2:4000/70
PASSWORD 2:344/10 2:344/45
Routing
-------
Will be familiar to FastEcho's users (well I think it will
be familiar to everyone :-)).
Rule: CFRoute won't touch ANY netmail if it doesn't know
where to send it. You can be confident about this.
By default, CFRoute uses the LAST route-to sentence that
matches the conditions for the netmail being processed
(like FastEcho does).
There are three routing commands, each with three flavours.
You can use dashes or not, at you wish.
ROUTE-TO, ROUTE-MAIL, and ROUTE-FILES
-------------------------------------
Exactly as FastEcho's route-to. Route-to affects to
all mails, route-mail only to netmail without a file
attach, and route-files to netmail with a file attach.
Parameters:
- Addresses: First one is the waypoint system,
i.e. the system the netmail will be packed
to. This one can't have wildcards and has
to be 4D (no completion is performed).
All the following addresses are the target
addresses that the route-to sentence applies
to. These addresses can have wildcards, as
follows:
? -> Zero or one character. 2:34?
matches 2:34, 2:341, 2:342...
# -> One character. 2:34# matches
2:341, 2:342, but doesn't match
2:34.
* -> Zero or more characters. 2:34*
matches 2:34,2:341,2:341...
- An attribute (NORMAL, CRASH, HOLD or DIR).
If none is specified, NORMAL is assumed.
- FROM, to switch from target to origin address.
- EXCEPT to start a exception list.
- A day of the week list to specify that the
current route-to command applies only to those
days. M=Monday, T=Tuesday, W=Wednesday, H=
Thrusday, F=Friday, S=Saturday, U=Sunday.
- ENC and NONENC, to indicate that the current
command applies only to encrypted or non-
encrypted mail. Note that this version only
determines if a mail if encrypted by the
presence of the ^AENC kludge.
Examples:
1.
- ROUTE-TO 2:348/201 CRASH 2:34/0
- ROUTE-TO 2:348/201 1:* 2:* 3:* 4:* 5:* 6:*
Send to Manuel Fuentes the netmail for his
administrative address (RC) crash. The netmail
for the rest of FidoNet addresses is packed
normal.
Remember that anything before a new command
is a parameter. So you can put the attribute
specification anywhere before the next command.
So these two lines are the same
ROUTE-TO CRASH 2:348/201 2:34/0 y
ROUTE-TO 2:348/201 2:34/0 CRASH
2. - ROUTE-TO 2:348/201 CRASH 2:34/0 FROM 2:34*/0
Send netmail to RC34 *from* the NCs crash.
Any other mail won't match is route-to and
will follow the default route, if any.
3. - ROUTE-TO 1:270/101 1:* FROM 2:341/*
Netmail to zone 1 from net 341 sent to
George Peace's place. Netmail from other
nets won't be sent to George.
4. - ROUTE-TO 2:348/201 FROM 1:*
All netmail *from* zone 1 sent to 2:348/201.
Doesn't make too much sense in the real world,
but I bet someone will use this.
5. - ROUTE-TO 2:348/201 2:* EXCEPT 2:34/* EXCEPT 2:348/*
All netmail to zone 2 except to R34 except to
net 348 is sent to 2:348/201. Notice that the
second except applies over the first one and
not over the 2:*. So all netmail to zone 2
except Spain + Galicia is sent to 2:348/201.
6. - ROUTE-TO 2:348/201 2:* EXCEPT FROM 2:341/*
All netmail to zone 2 not written by net 341
is sent to 2:348/201.
7. - ROUTE-TO 2:2/0 HF 2:29*
Send netmail to Belgium via ZC/2 (who lives
in Belgium, in case you haven't guessed it)
only on Thrusdays and Fridays (to use the
call to pickup the nodediff).
8. - ROUTE-TO 93:7000/0 NONENC 93:7000/0
Netmail to Subnet->InterNet gateway is sent
to the gateway, as long as it is not encrypted.
I hope you get the picture :-) You can use route-mail and
route-file to select netmail based upon file-attach
presence.
Note that message attribs have precedence over the
routing. A message flagged as crash will be sent crash
even if a route-to for it exists.
CFRoute honors ZON (zonegate) and HUB (Hub/host gate)
flags. Say we get a message from zone 2 to zone 1 with
the zonegate flag, and
ROUTE-TO 1:270/101 1:*
ROUTE-TO 2:348/202 2:* 3:* 4:* 5:* 6:* 7:*
a netmail to zone 1 without the flag, would go to
George Peace. However, a netmail flying the ZON
flag is considered to be sent to 2:2/1 and thus
is routed via 2:348/202.
The hub flag routes the message using the destination
network host address.
Two commands may be used to alter the behaviour of
routing commands.
- ASSUMEWAYPOINTS is used to assume that the
waypoint is also affected. example:
assumewaypoints
route-to 2:2453/1030 1031
=
route-to 2:2453/1030 2:2453/1030 2:2453/1031
- ASSUMEPOINTS makes CFR assume that if not
point number is specified, '*' should be used,
i.e.
assumepoints
route-to 2:2453/1030 1031
=
route-to 2:2453/1030 2:2453/1031.*
************************************************
* ASSUMEPOINTS and ASSUMEWAYPOINTS only apply *
* for commands after them! If you want them to *
* affect the whole file put them at the *
* beginning *
************************************************
DIRECT (o DIRECT-TO), DIRECT-MAIL y DIRECT-FILES
------------------------------------------------
See route-* for syntax. Messages are packed for
the destination systems.
ROUTE-BOSS, ROUTE-BOSS-MAIL and ROUTE-BOSS-FILES
----------------------------------------------
AKA NO-ROUTE, NO-ROUTE-MAIL and NO-ROUTE-FILES.
Netmail is packed for the destination NODES, so a
netmail for 2:341/14.23 is packed direct for
2:341/14.0 (the boss). Some programs call this
command no-route, which I think is wrong because
some routing exists if the netmail is packed to
a system different that the destination, even
if it is the boss.
NOPACK, NOPACK-MAIL, NOPACK-FILES
---------------------------------
Netmail specified in a NOPACK* command won't be
touched by CFRoute and left alone in the netmail
folder.
Macros
------
MYZONES, MYNETS y MYPOINTS. Expanded to all our
zones, nets and points. Can be used anywhere
a wildcarded address is accepted.
Example: DIRECT MYPOINTS.